const Promise = require("./myPromise");

// promise测试文件
let promise = new Promise((resolve, reject) => {
    //立即执行器executor
    // throw Error('throw err')
    reject('ok')
})


// promise.then(data=>{
//     return data
// },err=>{
//     throw err 
// }).then(data=>{
//     return data
// },err=>{
//     throw err 
// }).then(data => {
//     console.log(data)
// },err=>{
//     console.log(err)
// })



// promise.then().then(data=>{
//     return data
// },err=>{
//     throw err 
// }).then(data => {
//     console.log(data)
// },err=>{
//     console.log(err)
// })

// resolve再传入promise
// let promise2 = promise.then(data => {
//     return new Promise((resolve, reject) => {
//         setTimeout(() => {
//             resolve(new Promise((resolve, reject) => {
//                 setTimeout(() => {
//                     resolve('ok2')
//                 }, 100)
//             }))
//         }, 100)
//     })
// }, err => {
//     console.log(err)
// })





//TypeError: Chaining cycle detected for promise #<Promise>
// 自己等自己，死循环
// let promise2 = promise.then(data=>{
//     return promise2
// })
// // 成功null，失败打印报错
// promise2.then(null,data=>{
//     console.log(data)
// })